package com.pd.backend.web.controller.systematic;

import com.pd.backend.common.PageResult;
import com.pd.backend.common.R;
import com.pd.backend.domain.dto.AuthUserDto;
import com.pd.backend.domain.entity.PdAuthUser;
import com.pd.backend.service.systematic.AuthUserService;
import io.swagger.models.auth.In;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.Date;

/**
 * 用户管理
 */
@RestController
@RequestMapping("/systematic/auth-user")
public class AuthUserController {

    @Autowired
    private AuthUserService authUserService;

    /*
    &account=1
    &orgId=1063196077653972481
    &timeRange[]=2023-01-04+00:00:00
    &timeRange[]=2023-02-13+23:59:59
    &size=10
    &current=1
    &startCreateTime=2023-01-04+00:00:00
    &endCreateTime=2023-02-13+23:59:59
     */

    /**
     * 用户多条件分页查询
     *
     * @param size            每页数据条数
     * @param current         当前页
     * @param account         账号
     * @param orgId           组织Id
     * @param startCreateTime 创建开始时间
     * @param endCreateTime   创建结束时间
     * @return
     */
    @GetMapping("/page")
    public PageResult<PdAuthUser> page(Integer size, Integer current, String account, String orgId, Date startCreateTime, Date endCreateTime) {
        return authUserService.page(size, current, account, orgId, startCreateTime, endCreateTime);
    }

    /**
     * 用户管理页面 修改用户
     * @param authUserDto  修改用户数据
     * @return
     */
    @PutMapping
    public R modify(@RequestBody AuthUserDto authUserDto){
        return authUserService.modify(authUserDto);
    }

    /**
     * 用户管理页面 删除用户
     * @param id
     * @return
     */
    @DeleteMapping("/{id}")
    public R remove(@PathVariable(name = "id") String id){
        return authUserService.remove(id);
    }
}
